This invention relates generally to techniques for reproducing a signal or event by using discrete digital samples and, more particularly, to techniques for reproducing periodic signals or events in the processing of global positioning system (GPS) signals. Although the present invention has application in areas other than GPS signal processing, the GPS environment provides a useful context for describing the invention and its background.
As is well known, a GPS receiver can accurately determine its position in three dimensional space, based on radio-frequency (RF) signals received simultaneously from multiple earth-orbiting satellites. There is a sufficient number of satellites in orbit to allow more than one (and preferably at least four) to be visible to a receiver at any point on or above the earth. The signals transmitted from each satellite uniquely identify the satellite and also include ephemeris data that define the satellite orbit. From a measurement of the time for transmission of a code signal from each satellite to the receiver, an apparent distance or range to each satellite is calculated in the receiver. If these range values were accurate, the receiver could compute its three-dimensional position from three satellite positions and ranges. Because a receiver clock cannot be exactly synchronized with clocks on the satellites, there is, however, an inherent time error in the distance measurements, which are referred to as pseudoranges. Thus there are four unknown quantities: the three location dimensions and the unknown time error between satellites and the receiver. (The satellites themselves are maintained in precise synchronism by control from ground stations.) Therefore, so long as there are at least four satellites in view the time error can be eliminated and the receiver position accurately determined.
The satellite signals include a pseudorandom digital code sequence, which varies in an apparently random pattern that repeats itself over time. Each satellite is uniquely identifiable from its code sequence. One function of the receiver is to generate a replica of this pseudorandom code and to synchronize the locally generated code signals with the incoming code signals, in a process usually referred to as code tracking. GPS code signals may be viewed as a sequence of periodic events in the form of state changes of a digital signal level. For purposes of discussion, it will be helpful to consider just one state change in the code as being a periodic event of interest. It is usually desired, as in a GPS receiver, to reproduce this signal state change event as accurately as possible, in terms of the time of the change. Both the satellite generating the signal event to be reproduced and the receiver attempting to effect the reproduction generate the event to coincide with the timing of a digital clock period. Although, both the satellite and the receiver may use digital clocks that are nominally synchronous in terms of frequency, they will not be perfectly synchronous, for two reasons. First, the receiver clock will in general not be as accurate as the satellite clock and there will inevitably be a slight frequency difference between the two clocks. Second, because the satellite is in motion relative to the receiver, signals received from the satellite will be shifted in frequency by the Doppler effect as the satellite approaches and then recedes from the position of the receiver.
Because of this unavoidable asynchronous relationship between sample clocks on a satellite and on the receiver, the event under consideration cannot be faithfully reproduced in the receiver. More specifically, the reproduced event may occur as much as almost a full sample interval earlier or later than the actual event. Depending on the difference between the local receiver clock and the satellite clock, the reproduced event will gradually “drift” in time with respect to the actual event, at a rate depending on the clock frequency difference and on the Doppler effect, which, of course, varies relatively slowly as the satellite passes over the receiver.
A similar problem arises if one wishes to reproduce a non-digital event, such as a periodic analog signal, using a signal generator that is limited by the use of a digital sampling technique. A signal transition not occurring at a sample point will be reproduced as occurring at the nearest preceding sample point. In effect, the reproduced signal will not only be skewed in time with respect to the original signal, but will also not be a faithful representation of the signal magnitude, even at the sample points.
In processing GPS and other types of signals, it is sometimes desired to sample a signal waveform within a predetermined time window. For example, in GPS receivers, performance in a multipath signal environment is enhanced by sampling within a prescribed multipath mitigation window. See, for example, U.S. Pat. No. 6,023,489 issued to Ronald R. Hatch, and U.S. Pat. No. 5,963,582 issued to Thomas A. Stansell, Jr. There is, however, an inherent difficulty in sampling across a desired window if the starting and ending points of the window do not coincide with available digital sample points. The desired window and the reproduced window may be the same integral number of sample intervals in width, but the reproduced window may be offset in time from the desired position because of the necessarily asynchronous relationship between receiver and satellite clocks. Because the reproduced window will “slide” in time with respect to the desired window, integration over time may still produce close to the desired windowing effect, but better performance would be obtained if the reproduced window more accurately matched the desired window at each occurrence.
The multipath mitigation windows described in the patents referenced above are limited in shape. The window width is limited to the sampling interval, or multiples the sampling interval, and the window height is limited to a fixed height or some simple multiples or sub-multiples of the fixed height. One underlying assumption of prior techniques for reproducing digital signal events is that digital signals change instantaneously from one level to another, such as from +1 to 0 or −1. Although a digital signal event may be close to this ideal when transmitted, the same signal event as received will be necessarily distorted in profile because any practical transmission channel is limited in bandwidth and cannot, therefore, faithfully transmit instantaneous changes in signal level. Ideally, detection of signal event received through a limited-bandwidth channel should make use of a signal window that has a profile designed with the effect of the channel taken into account. GPS receivers prior to the present invention have not had this capability.
It would be extremely advantageous in GPS receiver design, as well as in other signal processing systems, to be able to reproduce a desired digital or analog signal event, or a signal sampling window, with a higher temporal resolution than digital sampling usually allows. Ideally, the reproduced signal event or window should have a desired waveform or profile without being constrained to particular fixed magnitudes and without being constrained by the digital sampling interval. The present invention is directed to this end.